home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / cmds.fmt / fsstat.man < prev    next >
Encoding:
Text File  |  1992-05-28  |  14.2 KB  |  333 lines

  1.  
  2.  
  3.  
  4. FSSTAT                    User Commands                    FSSTAT
  5.  
  6.  
  7.  
  8. _________________________________________________________________
  9.  
  10. NNAAMMEE
  11.      fsstat - Print filesystem statistics
  12.  
  13. SSYYNNOOPPSSIISS
  14.      ffssssttaatt [--HH]
  15.      ffssssttaatt --FF [--dd [--SS _n_u_m_S_i_z_e_s] [--TT _n_u_m_T_i_m_e_s]]
  16.  
  17. OOPPTTIIOONNSS
  18.      --HH            Print kernel version  and  uptime  information
  19.                    before statistics.
  20.  
  21.      --FF            Print file I/O and deletion statistics.
  22.  
  23.      --dd            Print histogram of  file  sizes  and  ages  at
  24.                    deletion.
  25.  
  26.      --SS _n_u_m_S_i_z_e_s   The number of sizes to print in the histogram
  27.  
  28.      --TT _n_u_m_T_i_m_e_s   The number of times to print in the histogram
  29.  
  30. _________________________________________________________________
  31.  
  32. IINNTTRROODDUUCCTTIIOONN
  33.      This prints out the various statistics kept by the  filesys-
  34.      tem.    The   stats  are  printed  in  several  groups  that
  35.      correspond roughly to sub-structs in  the  Fs_Stat  datatype
  36.      defined   in   <<kkeerrnneell//ffssSSttaatt..hh>>.   The  following  sections
  37.      decribe statistics by section as printed by ffssssttaatt.  Obvious
  38.      fields are not explained.
  39.  
  40.      BBlloocckk CCaacchhee SSttaattiissttiiccss..  The  BLOCKS  line  counts  4  Kbyte
  41.      cache  blocks.   The  first  number is the current number of
  42.      blocks; the rest are minimum, maximum, etc.  The two numbers
  43.      in  the ``max'' field are the current maximum and the physi-
  44.      cal maximum (in parens).  ``free'' is the number  of  blocks
  45.      with  no data in them.  There are different kinds of hits on
  46.      a cache block:  ``dr_hits''  are  hits  on  a  dirty  block,
  47.      ``cl_hits''  are hits on a clean block, ``p-hits'' are write
  48.      hits on a partially filled block.   ``p-misses''  are  write
  49.      misses on a partially filled block.
  50.  
  51.      The WRITETHRU line has percentages which are relative to the
  52.      number  of WRITE blocks reported on the WRITE line.  Virtual
  53.      memory page-outs are not included in the WRITE  blocks,  but
  54.      are  counted  in  the  ``vm'' field of WRITETHRU.  Thus WRI-
  55.      TETHRU can be bigger than WRITE if there is lots of  paging.
  56.      ZERO  FILL  has  two  numbers  by  write, one for zero fills
  57.      because the read of the existing block was less than 4K, the
  58.      second  for  zero  fills because the write was less than 4K.
  59.      The ``append'' field is  probably  obsolete.   The  ``over''
  60.      field is for blocks that were overwritten.
  61.  
  62.  
  63.  
  64.  
  65. Sprite v.1.0         Printed:  May 28, 1992                     1
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. FSSTAT                    User Commands                    FSSTAT
  73.  
  74.  
  75.  
  76.      For READ AHEAD the ``all in cache'' field has  two  numbers:
  77.      one  for the number of times we asked if all the blocks were
  78.      already in the cache, the second for  the  number  of  times
  79.      they  were.  Read ahead is currently implemented by schedul-
  80.      ing a background process.  This has too much overhead and so
  81.      read ahead is usually disabled.  FRAGMENT upgrades are frag-
  82.      ments that got promoted to a full block.
  83.  
  84.      The VM line has four numbers.  The first is  the  number  of
  85.      times  VM  asked  FS  for  a  page.  The ``we tried'' number
  86.      counts the number of requests where it was possible for  the
  87.      FS  to  give away a page (non-empty free list, and more than
  88.      the minimum number of blocks in the cache).  The ``gave up''
  89.      number  counts the number of times the FS actually gave away
  90.      a page.  The ``pitched'' field is the number of cache blocks
  91.      that  were  discarded  (put  at  the  front of the LRU list)
  92.      because they duplicated VM-managed blocks.
  93.  
  94.      The ALLOC line indicates where cache blocks  were  obtained:
  95.      ``free''  means  the  free list, ``new'' means newly created
  96.      blocks,  ``lru''  means  blocks  replaced  via  the   least-
  97.      recently-used  algorithm,  ``part free'' means the partially
  98.      free list, i.e. those (8K) pages which had  one  valid  (4K)
  99.      block and one free block.
  100.  
  101.      NNaammee CCaacchhee SSttaattiissttiiccss.   The  ``size''  indicates  how  many
  102.      entries  are kept in the hash table.  The other fields indi-
  103.      cate the number of accesses and the hit ratio.   File  dele-
  104.      tion  removes  entries  so the number of replacements is not
  105.      the complement of the number of hits.
  106.  
  107.      BBlloocckk AAllllooccaattiioonn SSttaattiissttiiccss.  The CYLINDERS  line  indicates
  108.      how  many  cylinders  were  searched  to  find one with free
  109.      blocks.  The ``hashes'' field is the number of  hashes  done
  110.      to  choose  a  cylinder for a file.  ``bit-searches'' is the
  111.      number of bytes scanned in  the  free  block  bitmask.   The
  112.      FRAGS  line  concerns block fragments.  ``fr->block'' is the
  113.      number of free fragments collapsed  into  blocks.   ``block-
  114.      >fr''  is  the  number of free blocks broken into fragments.
  115.      ``upgrades'' is the number of fragmented blocks promoted  to
  116.      full  blocks.   ``bad hints'' is the number of fragment list
  117.      entries that proved wrong.  The kernel keeps a free list for
  118.      each  fragment size, but growth of an allocated fragment can
  119.      invalidate entries in these lists.
  120.  
  121.      FFiillee HHaannddllee SSttaattiissttiiccss.  The internal  data  structure  kept
  122.      for  each  file  is known as a ``file handle''.  Handles are
  123.      ``installed'' into a hash table initially.  ``create'' indi-
  124.      cates  the  number  of  times  the  handle  was  not already
  125.      present.  ``version'' indicates the number of existing  han-
  126.      dles   that  were  out-of-date  due  to  attribute  changes.
  127.      ``flush'' indicates the number of times  the  cached  blocks
  128.  
  129.  
  130.  
  131. Sprite v.1.0         Printed:  May 28, 1992                     2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. FSSTAT                    User Commands                    FSSTAT
  139.  
  140.  
  141.  
  142.      (if  any)  for  a  file  were  invalid  when  its handle was
  143.      installed.  Uncachable files are also counted by this field.
  144.      Existing  handles  may  also be ``fetched'', ``locked'', and
  145.      then ``released''.  There are two numbers  by  the  ``lock''
  146.      field, but one is obsolete and is always zero.  The ``wait''
  147.      field is the number of locks that had to wait.   Information
  148.      about  handle LRU replacement is printed later (for histori-
  149.      cal reasons) after Object information.
  150.  
  151.      SSeeggmmeenntt.  The VM sticky segment information is  tucked  away
  152.      after  the file handle statistics.  Text segments along with
  153.      their page tables are cached, and this line counts  the  hit
  154.      ratio for this feature.
  155.  
  156.      PPrreeffiixx SSttaattiissttiiccss.  This counts the number  of  ``absolute''
  157.      and  ``relative''  file  name  lookups.  ``redirect'' is the
  158.      number of lookups that bounced from one server  to  another.
  159.      Symbolic  links  back  to  the  root  cause a bounce, as can
  160.      ascending via "..", as can descending through remote  links.
  161.      ``loop''  is  the  number  of  symbolic link loops detected.
  162.      ``timeout'' is the number of lookups that failed because  of
  163.      a timeout to the server.  ``stale'' is the number of lookups
  164.      that failed because of stale handles for the starting  point
  165.      of  the  lookup.   ``found''  is  the number of prefix table
  166.      entries found via broadcast.
  167.  
  168.      IInntteerrnnaall FFrraaggmmeennttaattiioonn.  This counts the bytes wasted due to
  169.      the  use  of  4  Kbyte  blocks  in the cache.  There are two
  170.      lines, one in comparision to a  cache  with  variable  sized
  171.      blocks, the other relative to a cache with 1K byte blocks.
  172.  
  173.      CCoouunntt ooff CCaallllss.  This is the number of open  calls  made  by
  174.      local  processes,  i.e.  remote  requests  are  not counted.
  175.      (FIX!) The opens are broken into opens for reading, writing,
  176.      and  read-write.   The number of set attribute calls is also
  177.      given.
  178.  
  179.      BByytteess.  This section gives statistics on a per-byte basis of
  180.      cache traffic, network traffic, disk traffic, and raw device
  181.      traffic.
  182.  
  183.      OObbjjeeccttss.  Counts of the number of different kinds of objects
  184.      occur  next to the two lines labeled OOBBJJEECCTTSS.  ``stream'' is
  185.      the number of top-level open  file  descriptors  there  are.
  186.      There  is  one  per  open system call, plus there are shadow
  187.      streams on I/O servers.  The ``(clt)'' field is  the  number
  188.      of  stream  clients.    This  is  the  same as the number of
  189.      streams except during process migration when a stream may be
  190.      shared  by different hosts.  There is also a ``ioClt'' field
  191.      that is the number of entries in  object  descriptor  client
  192.      lists.   Devices, pseudo-devices, files, and directories all
  193.      have lists of the clients  using  them.   The  rest  of  the
  194.  
  195.  
  196.  
  197. Sprite v.1.0         Printed:  May 28, 1992                     3
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204. FSSTAT                    User Commands                    FSSTAT
  205.  
  206.  
  207.  
  208.      fields are for the different kinds of objects implemented by
  209.      the file system.  There is one object  descriptor  kept  for
  210.      each object in use, including those that are not open but do
  211.      have data in  the  cache.   The  fields  ``file'',  ``dir'',
  212.      ``rmtFile'',  ``pipe'',  ``dev''  correspond  to the obvious
  213.      object.  ``pdevCtrl'' corresponds to the  number  of  active
  214.      pseudo-devices.   There  will  be  one  of these on the file
  215.      server with the pseudo-device name and one on the host  run-
  216.      ning  the  pseudo-device  process.   ``pdev'' corresponds to
  217.      pseudo-device connections, of which there can be  more  than
  218.      one to any particular pseudo-device.  There are two internal
  219.      object descriptors for a pseudo-device connection,  one  for
  220.      the  client  and  one  for  the server.  The total number of
  221.      object descriptors (including streams and 2 per ``pdev'') is
  222.      given in the ``Total'' field.
  223.  
  224.      HHaannddlleess.  More statistics on the handle  table  are  printed
  225.      after  the  object  information on the line labeled HHAANNDDLLEESS.
  226.      ``Handle''   is   the   kernel   venacular   for   ``object-
  227.      descriptor'',  so  there  is  one  handle  per  object.  The
  228.      current maximum number of handles is given  by  the  ``max''
  229.      field.   The  table  will  grow  if  necessary.  The current
  230.      number of handles is  given  by  the  ``exist''  field,  and
  231.      should  match the ``Total'' field of the object counts.  The
  232.      ``limbo'' field is a count of handles that have been removed
  233.      from  the table, but have not had their memory de-allocated.
  234.      ``scans'' is the number of times the table was  searched  in
  235.      LRU  order  to replace a handle because the table was at the
  236.      maximum size.  ``looks'' is the number of handles that  were
  237.      examined  and found in-use and so not available for replace-
  238.      ment.  ``scav'' was  the  number  that  were  reclaimed,  or
  239.      scavenged.   Of  these,  the number that were directories is
  240.      listed in the ``(dirs)'' field.  One handle is replaced  per
  241.      scan,  and if none can be replaced then the table is allowed
  242.      to grow.  Thus the difference between ``scans'' and ``scav''
  243.      is  the  number  of times the table had to grow.  (The table
  244.      starts at 400 handles and grows in increments of 25.   These
  245.      constants might be different on your system.)
  246.  
  247.      RReeccoovveerryy.  Failure recovery statistics are  printed  on  two
  248.      lines labeled RREECCOOVVEERREEDD.  The first line contains the number
  249.      of times the re-open protocol was gone through with a server
  250.      (``times'').   This line also lists the number of operations
  251.      that failed due to a communication failure and registered  a
  252.      need  for  recovery  (``wants''),  and  the  number of these
  253.      operations that were  retried  successfully  after  recovery
  254.      (``ok''), the number that could not be retried due to failed
  255.      recovery (``bad''), and the number that were aborted  before
  256.      recovery  was  attempted  (``abort'').  The second line sum-
  257.      maries how many handles were  re-opened  (``handles''),  the
  258.      number  that  could  not  be  reopened (``failed''), and the
  259.      number that had communication failures  during  the  re-open
  260.  
  261.  
  262.  
  263. Sprite v.1.0         Printed:  May 28, 1992                     4
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270. FSSTAT                    User Commands                    FSSTAT
  271.  
  272.  
  273.  
  274.      attempt (``timed out'').
  275.  
  276.      CClliieenntt  RReeccoovveerryy.   The  line  labeled  CCLLIIEENNTTSS  appears  on
  277.      servers.   The  field  ``crashed''  counts  how  many of the
  278.      server's  clients  have  crashed.   The  field  ``reopened''
  279.      counts  how  many clients reopened files at the server after
  280.      the server rebooted.
  281.  
  282.      FFiillee ttyyppee II//OO aanndd ddeelleettiioonn ssttaattiissttiiccss.  If the --FF option  is
  283.      specified  then  the cache and disk traffic due to different
  284.      kinds of regular files is given, plus the  number  of  bytes
  285.      deleted.   The type is the ``userType'' in the file descrip-
  286.      tor, which is a  user-settable  attribute.   The  types  are
  287.      ``temp'', for files in the //ttmmpp directory, ``swap'' for swap
  288.      files, ``obj'' for .o files, ``bin'' for binary executables,
  289.      and  ``other''  for all other kinds of files.  If the histo-
  290.      gram option (--dd) is specified the deletion info  is  further
  291.      broken down and presented in a histogram of cumulative bytes
  292.      deleted verses file age and type.
  293.  
  294. BBUUGGSS
  295.      Somebody needs to look at each of the numbers given by  this
  296.      program  and verify whether (a) the number still makes sense
  297.      and (b) the number is correctly documented.
  298.  
  299.      Some of the percentage figures are at best misleading.   For
  300.      example,  the  vm  ``percentage'' on the WRITETHRU line does
  301.      not mean ``what fraction of the data blocks written were due
  302.      to  VM,'' nor does it mean ``what fraction of write requests
  303.      resulted in VM pageouts.''
  304.  
  305. SSEEEE AALLSSOO
  306.      fscmd, prefix, rpccmd
  307.  
  308. KKEEYYWWOORRDDSS
  309.      file system, cache, statistics
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. Sprite v.1.0         Printed:  May 28, 1992                     5
  330.  
  331.  
  332.  
  333.